/**
 * @param json : le JSON contenant toutes les parties du diagramme
 * @param radius : la taille du rayon du diagramme.
 **/
function createPieChart(json,radius)
{
	// Valeur par defaut du rayon, s'il n'est pas renseigne. 
	if(!radius) radius = 100;
	var data = JSON.parse(json);
	// On cree le canvas qui va contenir le dessin du diagramme.
	var canvas = createCanvas("pieResult",radius*2,radius*2);
	var context = canvas.getContext("2d");
	// Angle de depart de la partie que l'on va dessiner
	var start = 0;
	var i = 0;
	while(i < data.length)
	{
		// On recupere la couleur de la portion en cours
		context.fillStyle = "rgb("+data[i]['redQuantity']+","
			+data[i]['greenQuantity']+","+data[i]['blueQuantity']+")";
		context.beginPath();
		// On se positionne au centre du diagramme pour que le remplissage 
		//se fasse jusqu'au centre.
		context.moveTo(radius,radius);
		var size = 1;
		// On calcule la taille de la portion a dessiner.
		while((i+size) < data.length 
			&& data[i]['colorName'] == data[i+size]['colorName'])
		{
			size++;
		}
		// On trace un arc de cercle partant de l'angle de depart,
		//de la taille calculee. 
		context.arc(radius,radius,radius,start,(start+(2*Math.PI/data.length)*size));
		context.fill();
		// On deplace l'angle de depart.
		start += (2*Math.PI/data.length)*size;
		i += size;
		size = 1;
	}
	return canvas;
}